/*
 ============================================================================
 Name        : hev-status-icon.h
 Author      : Heiher <admin@heiher.info>
 Version     : 0.0.2
 Copyright   : Copyright (c) 2010 everyone.
 Description : Linkage 802.1x for Unix-like operating system.
 ============================================================================
 */

#ifndef __HEV_STATUS_ICON_H__
#define __HEV_STATUS_ICON_H__

#include <gtk/gtk.h>

G_BEGIN_DECLS

#define HEV_TYPE_STATUS_ICON	(hev_status_icon_get_type())
#define HEV_STATUS_ICON(obj)	(G_TYPE_CHECK_INSTANCE_CAST((obj), HEV_TYPE_STATUS_ICON, HevStatusIcon))
#define HEV_IS_STATUS_ICON(obj)	(G_TYPE_CHECK_INSTANCE_TYPE((obj), HEV_TYPE_STATUS_ICON))
#define HEV_STATUS_ICON_CLASS(klass)	(G_TYPE_CHECK_CLASS_CAST((klass), HEV_TYPE_STATUS_ICON, HevStatusIconClass))
#define HEV_IS_STATUS_ICON_CLASS(klass)	(G_TYPE_CHECK_CLASS_TYPE((klass), HEV_TYPE_STATUS_ICON))
#define HEV_STATUS_ICON_GET_CLASS(obj)	(G_TYPE_INSTANCE_GET_CLASS((obj), HEV_TYPE_STATUS_ICON, HevStatusIconClass))

typedef struct _HevStatusIcon HevStatusIcon;
typedef struct _HevStatusIconClass HevStatusIconClass;

struct _HevStatusIcon
{
	GtkStatusIcon parent_instance;
};

struct _HevStatusIconClass
{
	GtkStatusIconClass parent_class;
};

GType hev_status_icon_get_type(void);

GtkStatusIcon * hev_status_icon_new(void);
void hev_status_icon_set_main_dialog(HevStatusIcon * self, GtkWidget * main_dialog);
void hev_status_icon_set_online(HevStatusIcon * self);
void hev_status_icon_set_offline(HevStatusIcon * self);

G_END_DECLS

#endif /* __HEV_STATUS_ICON_H__ */

